﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

using Demo.ServiceContracts;
using Demo.Infrastructure;


namespace Demo.Services
{
    // 注意: 使用“重构”菜单上的“重命名”命令，可以同时更改代码、svc 和配置文件中的类名“ModuleService”。
    // 注意: 为了启动 WCF 测试客户端以测试此服务，请在解决方案资源管理器中选择 ModuleService.svc 或 ModuleService.svc.cs，然后开始调试。
    public class ModuleService : IModuleService
    {

        private readonly IModuleService moduleServiceimpl = ServiceLocator.Instance.GetService<IModuleService>();

        public void CreateModule(string name, int sort = 0)
        {
            moduleServiceimpl.CreateModule(name, sort);
        }

        public DataObjects.ModuleDTO GetModuleDTOWithName(string name)
        {
            return moduleServiceimpl.GetModuleDTOWithName(name);
        }

        public DataObjects.ModuleDTO GetModuleDTOWithId(int id)
        {
            return moduleServiceimpl.GetModuleDTOWithId(id);
        }

        public IList<DataObjects.ModuleDTO> GetModuleDTOWithUserId(int userid)
        {
            return moduleServiceimpl.GetModuleDTOWithUserId(userid);
        }

        public IList<DataObjects.ModuleDTO> GetModuleDTO()
        {
            return moduleServiceimpl.GetModuleDTO();
        }

        public bool ChangeModuleWithName(string oldName, string newName)
        {
            return moduleServiceimpl.ChangeModuleWithName(oldName, newName);
        }

        //public bool ChangeModuleWithName(string Name, int newSort)
        //{
        //    return moduleServiceimpl.ChangeModuleWithName(Name, newSort);
        //}
    }
}
